Skip to content

docs: record measured state of play, for humans and for machines - #148

Merged
hyperpolymath merged 2 commits into
mainfrom
docs/state-of-play-2026-07-29
Aug 3, 2026
Merged

docs: record measured state of play, for humans and for machines#148
hyperpolymath merged 2 commits into
mainfrom
docs/state-of-play-2026-07-29

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Documentation only — no behaviour change. Every figure was measured on 2026-07-29 against origin/main 7d964ee and absolute-zero 87902bb7. Nothing here is recalled or inferred.

New

docs/STATE-OF-PLAY-2026-07-29.adoc — human-readable snapshot: CI status, what is actually gated, aletheia's real shape, proof state, recent incidents, the open questions needing a human ruling, and the landmines to read before touching CI or history here.

Updated

.machine_readable/6a2/STATE.a2ml

Had drifted since its 2026-06-12 checkpoint. Corrections:

Was Now
test-result = "ALL PASS as of 2026-04-04", 26 aletheia unit tests 29 pass — and the 27 failing integration tests recorded explicitly, with the reason
blockers.root-justfile = "recipes are placeholders" fixed in #144
proof-debt cited 80 Coq Axiom/Admitted that is estate/vendored scope; absolute-zero itself is 0 Admitted, 23 Axiom

New sections: [ci-status], [gating-reality], [proof-state], [recent-work-2026-07], [incidents], [open-questions], [landmines].

README.md

Short measured status block, the two known gaps (#124/#125) framed as by design, not regression, a warning that aletheia/.github/workflows/ is inert, and links to both documents.

TEST-NEEDS.md

Unit count 26 → 29. The note on the 27 integration failures expanded to say why they must not be "fixed" by writing checks that emit the expected strings — that would invent a definition of RSR compliance and encode it as canonical, while one already exists (hypatia's rsr-conformance oracle).

The through-line

Three of these files previously asserted something false about the code. That is not cosmetic: a stale CLAUDE.md is what tells the next agent "don't split into modules" about a crate that has been 5 modules for months, and a PROOF-NEEDS.md that counts only Admitted misses 23 Axioms — which pass a "no sorry/Admitted" gate silently.

Verification

$ asciidoctor -o /dev/null docs/STATE-OF-PLAY-2026-07-29.adoc   # exit 0, no warnings
$ yq -p toml -o json '.' .machine_readable/6a2/STATE.a2ml       # exit 0, 14 sections

🤖 Generated with Claude Code

Comment thread docs/STATE-OF-PLAY-2026-07-29.adoc
@gitar-bot

gitar-bot Bot commented Aug 3, 2026

Copy link
Copy Markdown

Note

Automatic reviews are paused because your trial's included automatic processing has been used for this period. Upgrade now, or comment "Gitar review" to run a review anytime.
Learn more

Code Review ✅ Approved 1 resolved / 1 findings

Adds a measured state-of-play documentation snapshot and updates machine-readable state files to eliminate stale assertions. Consider reconciling the integration test count discrepancies noted in the findings.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

✅ 1 resolved
Quality: Integration-test counts don't reconcile: 32 tests vs 2+27=29

📄 docs/STATE-OF-PLAY-2026-07-29.adoc:107-116 📄 TEST-NEEDS.md:21-32 📄 README.md:42 📄 .machine_readable/6a2/STATE.a2ml:21 📄 .machine_readable/6a2/STATE.a2ml:104 📄 docs/STATE-OF-PLAY-2026-07-29.adoc:262
The docs describe tests/integration_tests.rs as '32 tests' (adoc line 114, TEST-NEEDS.md line 29) but the pass/fail breakdown reported everywhere is '2 pass, 27 fail' — only 29 tests. The 3-test gap is unexplained (e.g. ignored tests), so the '32 tests' figure and the '2 pass / 27 fail' figures contradict each other in the same document. Since the whole PR's stated value is that 'nothing here is recalled or inferred' and every figure was measured, reconcile the numbers: either state the total as 29, or note how many of the 32 are #[ignore]/not run so 2+27+N=32.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Important

Your trial ends in 7 days — upgrade now to keep code review, CI analysis, auto-apply, custom automations, and more.

Was this helpful? React with 👍 / 👎 | Gitar

gitar-bot[bot]

This comment was marked as resolved.

@gitar-bot
gitar-bot Bot enabled auto-merge (squash) August 3, 2026 12:40
gitar-bot[bot]
gitar-bot Bot previously approved these changes Aug 3, 2026

@gitar-bot gitar-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gitar has auto-approved this PR and enabled auto-merge (configure)

@gitar-bot gitar-bot Bot added the gitar-approved Added by Gitar label Aug 3, 2026
hyperpolymath and others added 2 commits August 3, 2026 13:40
Adds docs/STATE-OF-PLAY-2026-07-29.adoc and brings the machine-readable
.machine_readable/6a2/STATE.a2ml up to date. Both were measured on 2026-07-29
against origin/main 7d964ee and absolute-zero 87902bb7 — no figure here is
recalled or inferred.

STATE.a2ml had drifted since its 2026-06-12 checkpoint. Corrected:

  - testing-status said "ALL PASS as of 2026-04-04" and 26 aletheia unit tests.
    Now 29 pass, and the 27 failing integration tests are recorded explicitly
    as expected-by-design with the reason (they assert on stdout substrings, so
    they are a UI contract, not a specification).
  - blockers.root-justfile said the recipes are placeholders. Fixed in #144.
  - proof-debt cited 80 Coq Axiom/Admitted markers. That is estate/vendored
    scope; absolute-zero itself measures 0 Admitted and 23 Axiom.

New sections in STATE.a2ml: [ci-status], [gating-reality], [proof-state],
[recent-work-2026-07], [incidents], [open-questions], [landmines]. Verified to
parse as TOML (`yq -p toml`), all 14 sections.

The human document covers the same ground with the reasoning attached: what is
actually gated (and the fact that aletheia/.github/workflows/ is inert, which
let this crate stay uncompilable for over a month), the proof state, the four
open questions that need a human ruling, and the landmines.

README.md gains a short measured status block plus the warning about inert
nested workflows, and links both documents.

TEST-NEEDS.md: unit count 26 -> 29, and the note on the 27 integration failures
expanded to say why they must not be "fixed" by writing checks that emit the
expected strings — that would invent a definition of RSR compliance while one
already exists in the estate.

Verified: `asciidoctor -o /dev/null` renders with no warnings; `yq -p toml`
parses STATE.a2ml in full.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Rebased onto current main and brought the two documents back into agreement
with reality. All figures re-checked; none needed changing.

  - OSSF Scorecard is now PASS. It was dying at checkout on the stray gitlink;
    #145 merged and it has been green on main since. Recorded, with the reason
    it could not be proven on the PR: scorecard.yml triggers only on
    push-to-main / schedule / workflow_dispatch, never on pull_request.
  - #145 marked MERGED rather than open.

New landmine, found while re-baselining: **a merged PR can change nothing.**
Both #146 ("ci(codeql): cron weekly→monthly") and #147 ("Worktree maa ci
repair") are empty — `git diff` between their parents and merge commits is
completely blank. #146's stated change was already present; codeql.yml has read
`cron: '0 6 1 * *'` (monthly) since before it merged.

This is the sibling of the landmine already recorded above it. That one says a
merged PR may not contain the work you pushed; this one says a merged PR may not
contain any work at all. A PR title is not evidence the change happened —
check `git diff --stat <parent> <merge>`.

Verified: asciidoctor renders clean; `yq -p toml` parses STATE.a2ml in full.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath force-pushed the docs/state-of-play-2026-07-29 branch from ecaea96 to 16a836a Compare August 3, 2026 12:41
@hyperpolymath
hyperpolymath disabled auto-merge August 3, 2026 13:15
@gitar-bot
gitar-bot Bot dismissed their stale review August 3, 2026 13:15

✅ All code review findings resolved.

Configure merge blocking

@hyperpolymath
hyperpolymath merged commit de054c2 into main Aug 3, 2026
25 checks passed
@hyperpolymath
hyperpolymath deleted the docs/state-of-play-2026-07-29 branch August 3, 2026 13:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitar-approved Added by Gitar

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant